<!DOCTYPE html>
<html lang="ja">

<head>
  <meta charset="utf-8">
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <meta http-equiv="Content-Style-Type" content="text/css">
  <script src='../bbs.js'></script>

  <!-- Global site tag (gtag.js) - Google Analytics -->
  <script async src="https://www.googletagmanager.com/gtag/js?id=UA-120820034-1"></script>

  <link href="../bbs.css" type="text/css" rel="stylesheet">
  <link rel="shortcut icon" href="/favicon.ico">
  <title>改行コードの変更が反映されない | サクラエディタ過去ログ</title>
</head>
<body>
<ul class="side">
        <a href="./" class="toindex">◀Unicode版開発トップへ</a>
        <li><div class="list-title">
    <span class="no">172</span>
    <a class="thread-title" href="172.html#172">改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">173</span>
    <a class="thread-title" href="172.html#173">Re:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">174</span>
    <a class="thread-title" href="172.html#174">Re2:改行コードの変更が反映されない</a></div>
    </li><li><div class="list-title">
    <span class="no">175</span>
    <a class="thread-title" href="172.html#175">Re2:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">176</span>
    <a class="thread-title" href="172.html#176">Re3:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">181</span>
    <a class="thread-title" href="172.html#181">Re4:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">182</span>
    <a class="thread-title" href="172.html#182">Re5:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">183</span>
    <a class="thread-title" href="172.html#183">Re6:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">185</span>
    <a class="thread-title" href="172.html#185">Re7:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">186</span>
    <a class="thread-title" href="172.html#186">Re8:改行コードの変更が反映されない</a></div>
    </li><li><div class="list-title">
    <span class="no">187</span>
    <a class="thread-title" href="172.html#187">Re8:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">188</span>
    <a class="thread-title" href="172.html#188">Re9:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">190</span>
    <a class="thread-title" href="172.html#190">Re10:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">191</span>
    <a class="thread-title" href="172.html#191">Re11:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">193</span>
    <a class="thread-title" href="172.html#193">Re12:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">194</span>
    <a class="thread-title" href="172.html#194">Re13:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">198</span>
    <a class="thread-title" href="172.html#198">Re14:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">200</span>
    <a class="thread-title" href="172.html#200">Re15:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">201</span>
    <a class="thread-title" href="172.html#201">Re16:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">202</span>
    <a class="thread-title" href="172.html#202">Re17:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">203</span>
    <a class="thread-title" href="172.html#203">Re18:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">207</span>
    <a class="thread-title" href="172.html#207">Re19:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">209</span>
    <a class="thread-title" href="172.html#209">Re20:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">228</span>
    <a class="thread-title" href="172.html#228">Re21:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">232</span>
    <a class="thread-title" href="172.html#232">Re22:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">233</span>
    <a class="thread-title" href="172.html#233">Re23:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">239</span>
    <a class="thread-title" href="172.html#239">Re24:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">240</span>
    <a class="thread-title" href="172.html#240">Re25:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">242</span>
    <a class="thread-title" href="172.html#242">Re26:改行コードの変更が反映されない</a></div>
    </li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li><li><div class="list-title">
    <span class="no">211</span>
    <a class="thread-title" href="172.html#211">Re18:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">215</span>
    <a class="thread-title" href="172.html#215">Re19:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">216</span>
    <a class="thread-title" href="172.html#216">Re20:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">217</span>
    <a class="thread-title" href="172.html#217">Re21:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">218</span>
    <a class="thread-title" href="172.html#218">Re22:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">219</span>
    <a class="thread-title" href="172.html#219">Re23:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">220</span>
    <a class="thread-title" href="172.html#220">Re24:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">221</span>
    <a class="thread-title" href="172.html#221">Re25:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">222</span>
    <a class="thread-title" href="172.html#222">Re26:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">223</span>
    <a class="thread-title" href="172.html#223">Re27:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">224</span>
    <a class="thread-title" href="172.html#224">Re28:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">225</span>
    <a class="thread-title" href="172.html#225">Re29:改行コードの変更が反映されない</a></div>
    </li><li><div class="list-title">
    <span class="no">226</span>
    <a class="thread-title" href="172.html#226">Re29:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">227</span>
    <a class="thread-title" href="172.html#227">Re30:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">231</span>
    <a class="thread-title" href="172.html#231">Re31:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">234</span>
    <a class="thread-title" href="172.html#234">Re32:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">235</span>
    <a class="thread-title" href="172.html#235">Re33:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">238</span>
    <a class="thread-title" href="172.html#238">Re34:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">243</span>
    <a class="thread-title" href="172.html#243">Re35:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">244</span>
    <a class="thread-title" href="172.html#244">Re36:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">245</span>
    <a class="thread-title" href="172.html#245">Re37:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">246</span>
    <a class="thread-title" href="172.html#246">Re38:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">247</span>
    <a class="thread-title" href="172.html#247">Re39:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">248</span>
    <a class="thread-title" href="172.html#248">Re40:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">249</span>
    <a class="thread-title" href="172.html#249">Re41:改行コードの変更が反映されない</a></div>
    </li><li><div class="list-title">
    <span class="no">252</span>
    <a class="thread-title" href="172.html#252">Re41:改行コードの変更が反映されない</a></div>
    </li></ul></li><li><div class="list-title">
    <span class="no">251</span>
    <a class="thread-title" href="172.html#251">Re40:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">253</span>
    <a class="thread-title" href="172.html#253">Re41:改行コードの変更が反映されない</a></div>
    </li></ul></li></ul></li><li><div class="list-title">
    <span class="no">250</span>
    <a class="thread-title" href="172.html#250">Re39:改行コードの変更が反映されない</a></div>
    </li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li><li><div class="list-title">
    <span class="no">237</span>
    <a class="thread-title" href="172.html#237">Re33:改行コードの変更が反映されない</a></div>
    </li></ul></li><li><div class="list-title">
    <span class="no">236</span>
    <a class="thread-title" href="172.html#236">Re32:改行コードの変更が反映されない</a></div>
    <ul><li><div class="list-title">
    <span class="no">241</span>
    <a class="thread-title" href="172.html#241">Re33:改行コードの変更が反映されない</a></div>
    </li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li><li><div class="list-title">
    <span class="no">192</span>
    <a class="thread-title" href="172.html#192">Re11:改行コードの変更が反映されない</a></div>
    </li></ul></li></ul></li></ul></li></ul></li></ul></li><li><div class="list-title">
    <span class="no">184</span>
    <a class="thread-title" href="172.html#184">Re6:改行コードの変更が反映されない</a></div>
    </li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li>
    </ul><ul class="main"><li><section><h1 id=172>
    <span class="no">[172]</span>
    <a class="thread-title" href="#172">改行コードの変更が反映されない</a>
    <span class="author">AC</span>
    <time datetime="2008-03-06T00:10:26">2008年03月06日 00:10</time></h1>
    <div class="body">保存ダイアログで改行コードを指定して保存した後でも<br>ステータスバーに表示される改行コードや選択バイト数などが<br>そのままになっているようです。<br><br>この、実際のファイルと異なる状態で上書き保存を行った場合、<br>改行コードは以前指定したもので書き出されるようなので<br>不都合はありませんが、再度名前をつけて保存を行った場合、<br>エディタの表示通りの改行コードが使用されます。(変換なしを選んだ場合)<br><br>名前をつけて保存を行った後のエディタは、その新しいファイル<br>を編集中の状態になっている、と認識しているのでファイルと<br>エディタの不整合は誤りだと思います。<br><br>パッチがかけないので報告だけです。<br>手が空いたときにでも直してやってください。<br><br>(Unicode 3月2日版を使用しています)<br></div></section>
    <ul><li><section><h1 id=173>
    <span class="no">[173]</span>
    <a class="thread-title" href="#173">Re:改行コードの変更が反映されない</a>
    <span class="author">ryoji</span>
    <time datetime="2008-03-06T01:55:59">2008年03月06日 01:55</time></h1>
    <div class="body">&gt; 名前をつけて保存を行った後のエディタは、その新しいファイル<br>&gt; を編集中の状態になっている、と認識しているのでファイルと<br>&gt; エディタの不整合は誤りだと思います。<br>&gt;&gt;dev:5090 「ファイル書き込み (SaveFile) 後の再読み込み (ReloadCurrentFile) の意図」<br>で話題になった CEditDoc::FileSaveAs の中の ReloadCurrentFile を復活させると大丈夫な気がします。<br>この ReloadCurrentFile なんですが、コメントでは2003年に自分が書いたものらしいですね。けど、当時のことはちょっと思い出せません(^^;;;<br>ファイルダイアログでBOMの有無を指定できるようにしたときのものだと思いますが．．．</div></section>
    <ul><li><section><h1 id=174>
    <span class="no">[174]</span>
    <a class="thread-title" href="#174">Re2:改行コードの変更が反映されない</a>
    <span class="author">ryoji</span>
    <time datetime="2008-03-06T02:33:24">2008年03月06日 02:33</time></h1>
    <div class="body">&gt; この ReloadCurrentFile なんですが、コメントでは2003年に自分が書いたものらしいですね。けど、当時のことはちょっと思い出せません(^^;;;<br>&gt; ファイルダイアログでBOMの有無を指定できるようにしたときのものだと思いますが．．．<br>ReloadCurrentFile 自体はそれよりも以前から入っていて、自分は「自動判定」から「現在開いているのと同じコード」に変更したんじゃなかったかなぁ？<br>自動判定だとBOM有→無にしたときに結果が変わって、メッセージが表示されるのがまずいから．．．、だったかしら？</div></section>
    </li><li><section><h1 id=175>
    <span class="no">[175]</span>
    <a class="thread-title" href="#175">Re2:改行コードの変更が反映されない</a>
    <span class="author">AC</span>
    <time datetime="2008-03-06T10:46:57">2008年03月06日 10:46</time></h1>
    <div class="body">&gt; &gt;&gt;dev:5090 「ファイル書き込み (SaveFile) 後の再読み込み (ReloadCurrentFile) の意図」<br>&gt; で話題になった CEditDoc::FileSaveAs の中の ReloadCurrentFile を復活させると大丈夫な気がします。<br><br>ファイル保存の前後でもアンドゥができるので、それが正しく機能するのなら<br>「文字コードの変換により編集中のデータが一部失われました」というようなメッセージ<br>→ Ctrl+Z という流れでリカバリできて、これで十分な気がするのですが。<br><br>と、書いた後で ReloadCurrentFileを復活させてみたらアンドゥができなくなりました。<br>これなら ReloadCurrentFileには復活してもらいたくないですね。<br><br>「エディタ内部のバッファを1行ずつ書き換え」てくれる人が現れるのを待つばかりです。<br></div></section>
    <ul><li><section><h1 id=176>
    <span class="no">[176]</span>
    <a class="thread-title" href="#176">Re3:改行コードの変更が反映されない</a>
    <span class="author">ryoji</span>
    <time datetime="2008-03-06T18:15:47">2008年03月06日 18:15</time></h1>
    <div class="body">&gt; ファイル保存の前後でもアンドゥができるので、それが正しく機能するのなら<br><br>これは上書き保存のときの動作ですね。Visual Studioでは再読み込みもアンドゥできるんですけど、それをするには読み込み前（削除）と後（追加）の内容すべてをアンドゥバッファに放り込むか差分を取らないといけないわけで．．．<br><br>&gt; 「エディタ内部のバッファを1行ずつ書き換え」てくれる人が現れるのを待つばかりです。<br><br>ステータスバーも書き換えないと(^^;<br>あと、ファイルを排他制御しない設定で、他のエディタ画面で編集中のファイルに書き込むと現状では一時的に１つのファイルを２画面で開いたような状態になります。<br>他画面のほうをアクティブにすると「再読み込みしますか？」のメッセージが出て、そこで再読み込みボタンを押すと「無題」になります。<br>この動作は気持ち悪いですね。他のエディタ画面で開いているファイルだったら、保存しようとしたときに「他のエディタ画面で使用中」のメッセージを出して保存を拒否してくれたほうがいいかな。（Visual Studioではそういう動作になるみたいです）</div></section>
    <ul><li><section><h1 id=181>
    <span class="no">[181]</span>
    <a class="thread-title" href="#181">Re4:改行コードの変更が反映されない</a>
    <span class="author">kobake</span>
    <time datetime="2008-03-06T22:58:08">2008年03月06日 22:58</time></h1>
    <div class="body">現象は理解しました。<br>掃除のついでに直しちゃおうと思います。が、、<br><br>保存時の方針がいまいち理解できません。<br><br><br>名前を付けて保存<br>↓<br>アンドゥ記録開始<br>↓<br>保持データの改行書き換え（←保存ダイアログの設定）<br>↓<br>アンドゥ記録終了<br>↓<br>文字コード変換しながらファイルに書込（保持データは書き換わらない）<br><br><br>上書き保存<br>↓<br>アンドゥ記録開始<br>↓<br>保持データの改行書き換え？？（←これは何によって決まるの？）(※)<br>↓<br>アンドゥ記録終了<br>↓<br>文字コード変換しながらファイルに書込（保持データは書き換わらない）<br><br><br>自動保存<br>↓<br>アンドゥ記録開始<br>↓<br>保持データの改行書き換え？？（←これは何によって決まるの？編集中にユーザの許可なく勝手に書き換えちゃうの？）(※)<br>↓<br>アンドゥ記録終了<br>↓<br>文字コード変換しながらファイルに書込（保持データは書き換わらない）<br><br><br>上記のような流れで良いですか？<br>まずは(※)の部分を明確に知りたいです。（明確な仕様があるのであれば）<br><br><br>▼ ryojiさん<br>&gt; &gt; ファイル保存の前後でもアンドゥができるので、それが正しく機能するのなら<br>&gt; <br>&gt; これは上書き保存のときの動作ですね。Visual Studioでは再読み込みもアンドゥできるんですけど、それをするには読み込み前（削除）と後（追加）の内容すべてをアンドゥバッファに放り込むか差分を取らないといけないわけで．．．<br><br>読み込み前後でアンドゥできるのは結構リッチな部類のエディタですよね。<br>個人的には無理に実装しなくても良い気がします。<br>書き込み前後でアンドゥできるのは、割と普通な機能な気がします。<br>Windowsのメモ帳でさえ、それはできますし。（とはいっても気持ちばかりの1段階アンドゥですが）<br></div></section>
    <ul><li><section><h1 id=182>
    <span class="no">[182]</span>
    <a class="thread-title" href="#182">Re5:改行コードの変更が反映されない</a>
    <span class="author">ryoji</span>
    <time datetime="2008-03-06T23:13:41">2008年03月06日 23:13</time></h1>
    <div class="body">&gt; どちらにしても(※)の部分が不明確ですが。<br><br>上書き保存の場合、アンドゥの処理の追加は不要じゃないですか？<br>現状でも上書き保存については保存前へのアンドゥが実装されてるわけですから。</div></section>
    <ul><li><section><h1 id=183>
    <span class="no">[183]</span>
    <a class="thread-title" href="#183">Re6:改行コードの変更が反映されない</a>
    <span class="author">kobake</span>
    <time datetime="2008-03-07T00:07:48">2008年03月07日 00:07</time></h1>
    <div class="body">▼ ryojiさん<br>&gt; &gt; どちらにしても(※)の部分が不明確ですが。<br>&gt; <br>&gt; 上書き保存の場合、アンドゥの処理の追加は不要じゃないですか？<br>&gt; 現状でも上書き保存については保存前へのアンドゥが実装されてるわけですから。<br><br>「追加するかどうか」ではなく、流れの確認です。<br>仕様があり、仕様どおりの実装がされているのであれば<br>その流れを変更するつもりはありません。<br><br>何が正で何が偽であるかを明確にしたいのです。<br><br>仕様が定まっていなければ掃除も無意味ですし、<br>（今後あるかもしれない）自動テストも不可能です。</div></section>
    <ul><li><section><h1 id=185>
    <span class="no">[185]</span>
    <a class="thread-title" href="#185">Re7:改行コードの変更が反映されない</a>
    <span class="author">ryoji</span>
    <time datetime="2008-03-07T02:09:06">2008年03月07日 02:09</time></h1>
    <div class="body">&gt; 「追加するかどうか」ではなく、流れの確認です。<br>&gt; 仕様があり、仕様どおりの実装がされているのであれば<br>&gt; その流れを変更するつもりはありません。<br><br>たぶん、仕様書は残っていないと思います。<br>そうなると作った人に意図を確認するしか知る術が無いんですが、残念ながら僕は誰がどこを作ったのかさえよく知りません。(^^;;;<br>で、まっさらな感覚で仕様を考えると…<br><br>・ファイルの文字コードや改行コードの種類はユーザーが特に変更を指示したとき以外は変更する必要は無いし勝手に変更すべきではない<br><br>実装（というかこれも仕様レベル？）についてはちゃんと確認していませんが、<br><br>・変更を指示できるタイミングはファイルを開くときと保存するときだけ<br>・上書き保存、自動保存には変更を指示するようなＵＩは与えられていない<br><br>間違っていたらその旨指摘してください。</div></section>
    <ul><li><section><h1 id=186>
    <span class="no">[186]</span>
    <a class="thread-title" href="#186">Re8:改行コードの変更が反映されない</a>
    <span class="author">ryoji</span>
    <time datetime="2008-03-07T02:31:01">2008年03月07日 02:31</time></h1>
    <div class="body">kobakeさんが望んだ「流れ」にはひとつも答えられていないですね。<br>役立たずですね～。σ(^^;<br>すいません。</div></section>
    </li><li><section><h1 id=187>
    <span class="no">[187]</span>
    <a class="thread-title" href="#187">Re8:改行コードの変更が反映されない</a>
    <span class="author">AC</span>
    <time datetime="2008-03-07T03:56:42">2008年03月07日 03:56</time></h1>
    <div class="body">動作が変わるのは多くのユーザーが望んでいないと思うので、現在の振る舞いを確認しておきたいのですが、<br><br>1 上書き保存では基本的に改行コードの変更は行っていない。<br>2 改行コードを指定して保存した後の上書き保存では、そのとき選ばれた改行コードが再度使用される。<br><br>2の動作によって、ファイルとエディタの改行コードが食い違ったあとでもユーザーの意図通りの保存が行われています。<br>また、貼り付けなどによって異なる改行コードが持ち込まれたときに、上書き保存で統一される結果にもなっています。<br><br>現状に従うのならば上書き保存は、ユーザーが特定の改行コードを選ぶまでは「変換なし」、選んだ後はその改行コードに統一、ということになります。<br><br>(自分の望んだことですが)エディタの保持データの改行コードが変更されるのなら、それは既存ユーザーに影響しますので、「上書き保存」「名前をつけて保存」に伴う改行コードの変更のアンドゥはできた方がいいと思います。<br>つまり、どちらの保存においてもアンドゥ履歴が一つ増えます。<br><br>----<br><br>気付いてしまったのですが現状のままでもユーザーの期待は裏切っていないのですよね。(少し気持ち悪いだけで)<br><br>(二回目以降の)名前をつけて保存ダイアログで、前回選ばれた改行コードを選択済みにするだけで、「LFで保存し直したはずなのに気付いたら CRLFに戻ってる」という事態の起こる余地もなくせそうです。<br></div></section>
    <ul><li><section><h1 id=188>
    <span class="no">[188]</span>
    <a class="thread-title" href="#188">Re9:改行コードの変更が反映されない</a>
    <span class="author">ryoji</span>
    <time datetime="2008-03-07T21:26:12">2008年03月07日 21:26</time></h1>
    <div class="body">▼ ACさん<br>&gt; 1 上書き保存では基本的に改行コードの変更は行っていない。<br>&gt; 2 改行コードを指定して保存した後の上書き保存では、そのとき選ばれた改行コードが再度使用される。<br>&gt; <br>&gt; 2の動作によって、ファイルとエディタの改行コードが食い違ったあとでもユーザーの意図通りの保存が行われています。<br>&gt; また、貼り付けなどによって異なる改行コードが持ち込まれたときに、上書き保存で統一される結果にもなっています。<br><br>ああ！、そういうこと。<br>やっと自分も現象（現行正式版の）をちょっと理解しました。<br>でも、僕の期待通りの動きじゃないです、それ。<br>上書き保存はいつでも見た目通りの保存だと思ってた。お馬鹿ですね＞自分 orz<br>改行コードを指定して保存することが以後の上書き保存に統一を指示するＵＩだったとは…<br>明示的に開きなおすまでファイルとエディタの改行コードが食い違ったままだとは…<br>[設定]-[入力改行コード指定]で別の改行コードを入力しても保存時に無視されるとは…<br>ACさんが「ユーザーの意図通り」と言っていることからも、2 の動作は望んでor望まれてそうしたのだろうことは想像できますね。<br><br>自分は、<br><br>a. 上書き保存では改行コードの変更は行っていない<br>b. 名前を付けて保存では「変換なし」がいつでもデフォルト<br>c. 改行コードを指定して保存したら入力改行コードも指定したものに変わる<br><br>この程度のシンプルなものだろうと勝手に思い込んでました。<br>説明を受けずに遭遇したらバグ？と思ってしまっただろうな。<br>自分の思い込みパターンから考えると、異なる改行コードを持ち込んだ場合は上書き保存でなく名前を付けて保存でコード指定しなおすだろうし、統一改行ファイルを混在改行ファイルにすることもまずないので、たぶん言われるまで気がつかなかっただろうと思いますけど。<br></div></section>
    <ul><li><section><h1 id=190>
    <span class="no">[190]</span>
    <a class="thread-title" href="#190">Re10:改行コードの変更が反映されない</a>
    <span class="author">ryoji</span>
    <time datetime="2008-03-07T21:58:20">2008年03月07日 21:58</time></h1>
    <div class="body">&gt; ACさんが「ユーザーの意図通り」と言っていることからも、2 の動作は望んでor望まれてそうしたのだろうことは想像できますね。<br>すいません。<br>今、ちらっとソースを見た感じでは意図したのではなく、たまたまそう動くような実装になっているだけなのかも？とも思えてきました。やはりちょっと作成者の意図までは汲み取れません。</div></section>
    <ul><li><section><h1 id=191>
    <span class="no">[191]</span>
    <a class="thread-title" href="#191">Re11:改行コードの変更が反映されない</a>
    <span class="author">kobake</span>
    <time datetime="2008-03-07T23:09:05">2008年03月07日 23:09</time></h1>
    <div class="body">▼ ryojiさん<br>&gt; &gt; ACさんが「ユーザーの意図通り」と言っていることからも、2 の動作は望んでor望まれてそうしたのだろうことは想像できますね。<br>&gt; すいません。<br>&gt; 今、ちらっとソースを見た感じでは意図したのではなく、たまたまそう動くような実装になっているだけなのかも？とも思えてきました。やはりちょっと作成者の意図までは汲み取れません。<br><br>僕が最も懸念しているのは、まさに「そこ」です。<br>現在の動作が「そうなるように意図されて」作られた結果ではないんじゃないか、<br>と思われる箇所が他にもちらほらとあります。<br>保守性の低い状態で綱渡りの作業を続けていればどうしても現在のようなふわふわした状況に陥ります。<br><br>コードのリファクタリングだけではなく、<br>仕様のリファクタリングも必要だと思うのです。<br>・不明確な部分を明確にする！<br>・一貫性の無い箇所に一貫性を与える！<br>・重複する機能は勇気を出して削る！<br><br>この際、申し訳ないですけど作成者の意図は読み取らなくて良いと思います。<br>ユーザ視点で「しっくり来る」仕様を固め直しませんか？<br><br><br>▼ ACさん<br>&gt; 動作が変わるのは多くのユーザーが望んでいないと思うので、<br><br>それは事実であると思いますし、心情的には同意します。<br>ただ、場合によっては一貫性の確保のために変更せざるを得ない動作もあると思います。<br></div></section>
    <ul><li><section><h1 id=193>
    <span class="no">[193]</span>
    <a class="thread-title" href="#193">Re12:改行コードの変更が反映されない</a>
    <span class="author">AC</span>
    <time datetime="2008-03-08T01:22:56">2008年03月08日 01:22</time></h1>
    <div class="body">&gt; 2 改行コードを指定して保存した後の上書き保存では、そのとき選ばれた改行コードが再度使用される。<br><br>この部分に関しては、エディタの保持データと書き出したファイルの改行コードを一致させる作業をした後であれば、<br>* 上書き保存では改行コードの変更を行わない<br>というように変更してもいいでしょうね。<br>(むしろ、した方が分かりやすい)<br><br>----<br><br>改行コードに関しては自分も気にしたくない人間です。<br>サクラエディタで改行コードを統一する手段が、名前をつけて保存だけなので(あるのかな？正規表現置換だけ？)、保存を行ったのにエディタのデータが CRLFと LFが混在したままだった、というのが今回の発端です。<br>入力改行コード指定は今日初めて知りました。(活用します)<br>クリップボードから異なる改行コードが侵入することも防げればいいのですが、(たとえば入力改行コード指定に従って)自動変換をするとおせっかいに感じる人がいそうですねえ。<br></div></section>
    <ul><li><section><h1 id=194>
    <span class="no">[194]</span>
    <a class="thread-title" href="#194">Re13:改行コードの変更が反映されない</a>
    <span class="author">kobake</span>
    <time datetime="2008-03-08T08:39:45">2008年03月08日 08:39</time></h1>
    <div class="body">▼ ACさん<br>&gt; &gt; 2 改行コードを指定して保存した後の上書き保存では、そのとき選ばれた改行コードが再度使用される。<br>&gt; <br>&gt; この部分に関しては、エディタの保持データと書き出したファイルの改行コードを一致させる作業をした後であれば、<br>&gt; * 上書き保存では改行コードの変更を行わない<br>&gt; というように変更してもいいでしょうね。<br>&gt; (むしろ、した方が分かりやすい)<br><br>どちらがしっくりくるかに関して意見は出しませんが<br>自動保存で改行コードが書き換わることを許容するかどうか、をまず決定すると良いと思います。<br>んで、その仕様に合わせて手動上書きの挙動も決定すると良いかと。<br><br><br>ところでステータスバーの表示は一例として以下のようになっていますが、<br>[15行3桁] [CRLF] [61] [SJIS] [REC] [挿入]<br><br>この例では [SJIS] が「保存時」文字コードであるのに対して<br>[CRLF] は「エンター押下時に」挿入される文字コードですよね。<br>果たしてこのインターフェースは望ましいものでしょうか。<br>この場合、改行コードCRLFで保存される、と（いう間違った意味で）解釈されてしまう方が<br>けっこうな数いらっしゃるんじゃないでしょうか。<br>（けっこう長くサクラエディタを使っているユーザでさえ。）<br><br><br>&gt; 改行コードに関しては自分も気にしたくない人間です。<br>&gt; サクラエディタで改行コードを統一する手段が、名前をつけて保存だけなので(あるのかな？正規表現置換だけ？)、保存を行ったのにエディタのデータが CRLFと LFが混在したままだった、というのが今回の発端です。<br>&gt; 入力改行コード指定は今日初めて知りました。(活用します)<br>&gt; クリップボードから異なる改行コードが侵入することも防げればいいのですが、(たとえば入力改行コード指定に従って)自動変換をするとおせっかいに感じる人がいそうですねえ。<br><br>その機能は自分も欲しいと思っていました。<br>んまぁこれはオプション扱いですかね。需要はあると思います。<br>トランクへの統合後に実装する予定です。<br><br>あと、改行コードLFの文書をサクラエディタからコピーして<br>Windowsメモ帳にペーストすると、<br>改行が見えなくなる（存在はしている）のも個人的に気持ち悪いです。<br></div></section>
    <ul><li><section><h1 id=198>
    <span class="no">[198]</span>
    <a class="thread-title" href="#198">Re14:改行コードの変更が反映されない</a>
    <span class="author">ryoji</span>
    <time datetime="2008-03-08T15:11:22">2008年03月08日 15:11</time></h1>
    <div class="body">▼ kobakeさん<br>&gt; 自動保存で改行コードが書き換わることを許容するかどうか、をまず決定すると良いと思います。<br>&gt; んで、その仕様に合わせて手動上書きの挙動も決定すると良いかと。<br><br>ユーザ視点で考えると逆では？... (^^;<br>自動保存についてはなるべくその時点でのエディタ内部情報に近い状態（改行コードは書き換えない）で保存したほうが、再開には都合が良いと思います。<br>ただ、自動保存は保険的な意味合いが強いので、他に重要なことを優先させるためなら少々は崩れても止むを得ないと思います。<br>（例えばSJISファイルの自動保存はSJISで保存したほうが良いということになるかもしれないけど、そうすると編集途中に入ったUnicode固有文字は復元不可になりますよね）<br><br>上書き保存についてなんですが、<br><br>▼ ACさん<br>&gt; &gt; * 上書き保存では改行コードの変更を行わない<br>&gt; &gt; というように変更してもいいでしょうね。<br>&gt; &gt; (むしろ、した方が分かりやすい)<br><br>自分もシンプル志向なので改行コード変更をしない方針が良いのではないかと思います。<br>それに加え、改行コードが混在している場合は保存前に確認メッセージを表示する、というのでどうでしょう。<br>上書き保存、「変換なし」で名前を付けて保存のときに確認。<br>（「変換なし」は「指定なし」か何かに名称変更したほうがいいかも）<br><br>例）<br>改行コードが混在しています。<br>現在の入力改行コード(CRLF)で統一しますか？<br>[統一して保存] [そのまま保存] [キャンセル]<br><br>こうしておけば、[統一して保存]でステータスバーの表示とも一致すると思いますが．．．<br><br>&gt; あと、改行コードLFの文書をサクラエディタからコピーして<br>&gt; Windowsメモ帳にペーストすると、<br>&gt; 改行が見えなくなる（存在はしている）のも個人的に気持ち悪いです。<br><br>そういうときのために[編集]-[CR/LF改行でコピー]があるんでしょうけどね。<br>改行コードを意識したくないユーザーにしてみれば、単に使い分けるだけでも面倒に感じるかもしれないですね。<br>自分も少し面倒に思うことがあります。だいぶ慣れましたけど。<br></div></section>
    <ul><li><section><h1 id=200>
    <span class="no">[200]</span>
    <a class="thread-title" href="#200">Re15:改行コードの変更が反映されない</a>
    <span class="author">kobake</span>
    <time datetime="2008-03-08T18:55:04">2008年03月08日 18:55</time></h1>
    <div class="body">▼ ryojiさん<br>&gt; ▼ kobakeさん<br>&gt; &gt; 自動保存で改行コードが書き換わることを許容するかどうか、をまず決定すると良いと思います。<br>&gt; &gt; んで、その仕様に合わせて手動上書きの挙動も決定すると良いかと。<br>&gt; <br>&gt; ユーザ視点で考えると逆では？... (^^;<br><br>たしかに、そうですね。ちょっと迷走しました。<br><br>&gt; &gt; あと、改行コードLFの文書をサクラエディタからコピーして<br>&gt; &gt; Windowsメモ帳にペーストすると、<br>&gt; &gt; 改行が見えなくなる（存在はしている）のも個人的に気持ち悪いです。<br>&gt; <br>&gt; そういうときのために[編集]-[CR/LF改行でコピー]があるんでしょうけどね。<br>&gt; 改行コードを意識したくないユーザーにしてみれば、単に使い分けるだけでも面倒に感じるかもしれないですね。<br>&gt; 自分も少し面倒に思うことがあります。だいぶ慣れましたけど。<br><br>クリップボードへのデータ格納 (CF_TEXT, CF_UNICODETEXT) って、外部向けのデータ出力なので、<br>プラットフォームの標準に合わせるのが好ましい気がします。<br>CR/LF改行でコピーがデフォルト (Ctrl+C) で、改行コード変換無しでコピーが拡張機能 (メニューをクリックしないと使えない) であるほうが、しっくりきます。<br>CF_TEXT, CF_UNICODETEXT 以外の、サクラエディタ独自のクリップボード形式に関しては CR-LF 以外の改行コードでも良いと思いますけど。<br><br>↓参考<br><a href=http://msdn2.microsoft.com/en-us/library/ms649013(VS.85).aspx target=_top><nobr>http://<wbr>msdn2.<wbr>microsof<wbr>t.<wbr>com/<wbr>en-<wbr>us/<wbr>library/<wbr>ms649013<wbr>(<wbr>VS.<wbr>85).<wbr>aspx</nobr></a><br>CF_TEXT&#9;Text format. Each line ends with a carriage return/linefeed (CR-LF) combination. A null character signals the end of the data. Use this format for ANSI text.</div></section>
    <ul><li><section><h1 id=201>
    <span class="no">[201]</span>
    <a class="thread-title" href="#201">Re16:改行コードの変更が反映されない</a>
    <span class="author">ryoji</span>
    <time datetime="2008-03-08T21:17:51">2008年03月08日 21:17</time></h1>
    <div class="body">&gt; CF_TEXT, CF_UNICODETEXT 以外の、サクラエディタ独自のクリップボード形式に関しては CR-LF 以外の改行コードでも良いと思いますけど。<br><br>Excelの表データを扱うのに重宝してるっていう話も聞くんですが、Excelは行末をCRLF、セル内改行をLFで扱ってるようです。<br>サクラ-&gt;ExcelへのDrag &amp; Dropでデータが崩れるようになったら何だか申し訳ない気がする... (^^;</div></section>
    <ul><li><section><h1 id=202>
    <span class="no">[202]</span>
    <a class="thread-title" href="#202">Re17:改行コードの変更が反映されない</a>
    <span class="author">kobake</span>
    <time datetime="2008-03-08T21:49:25">2008年03月08日 21:49</time></h1>
    <div class="body">▼ ryojiさん<br>&gt; &gt; CF_TEXT, CF_UNICODETEXT 以外の、サクラエディタ独自のクリップボード形式に関しては CR-LF 以外の改行コードでも良いと思いますけど。<br>&gt; <br>&gt; Excelの表データを扱うのに重宝してるっていう話も聞くんですが、Excelは行末をCRLF、セル内改行をLFで扱ってるようです。<br>&gt; サクラ-&gt;ExcelへのDrag &amp; Dropでデータが崩れるようになったら何だか申し訳ない気がする... (^^;<br><br>なるほど。<br>ただそういう使い方のための機能なら<br>それこそオプション扱いで良いと思います。</div></section>
    <ul><li><section><h1 id=203>
    <span class="no">[203]</span>
    <a class="thread-title" href="#203">Re18:改行コードの変更が反映されない</a>
    <span class="author">ryoji</span>
    <time datetime="2008-03-08T22:00:58">2008年03月08日 22:00</time></h1>
    <div class="body">&gt; ただそういう使い方のための機能なら<br>&gt; それこそオプション扱いで良いと思います。<br><br>手を入れようとお考えの方には、そういった配慮も忘れずにしていただければ、ということで。</div></section>
    <ul><li><section><h1 id=207>
    <span class="no">[207]</span>
    <a class="thread-title" href="#207">Re19:改行コードの変更が反映されない</a>
    <span class="author">AC</span>
    <time datetime="2008-03-09T03:15:59">2008年03月09日 03:15</time></h1>
    <div class="body">▼ ryojiさん<br>&gt;改行コードが混在している場合は保存前に確認メッセージを表示する、というのでどうでしょう。<br>&gt;上書き保存、「変換なし」で名前を付けて保存のときに確認。<br>&gt;（「変換なし」は「指定なし」か何かに名称変更したほうがいいかも）<br>&gt;<br>&gt;例）<br>&gt;改行コードが混在しています。<br>&gt;現在の入力改行コード(CRLF)で統一しますか？<br>&gt;[統一して保存] [そのまま保存] [キャンセル]<br><br>これだと [そのまま保存]を選んだ場合、上書き保存のたびにメッセージが表示されてしまいます。<br>揮発性の内部状態を用意して二回目からは無視することもできるでしょうが、<br><br>▼ kobakeさん<br>&gt;この例では [SJIS] が「保存時」文字コードであるのに対して<br>&gt;[CRLF] は「エンター押下時に」挿入される文字コードですよね。<br>&gt;果たしてこのインターフェースは望ましいものでしょうか。<br>&gt;この場合、改行コードCRLFで保存される、と（いう間違った意味で）解釈されてしまう方が<br>&gt;けっこうな数いらっしゃるんじゃないでしょうか。<br>&gt;（けっこう長くサクラエディタを使っているユーザでさえ。）<br><br>こういう意見もありますので自分としては、ステータスバーに、使われている改行コードを列挙する方式を提案します。<br>*○CRLFだけが使われていれば CRLFと表示され、CRLFと LFが混在していれば CRLF/LFと表示される<br>*×(改行コードが混在している場合や改行コードを一括置換した場合は)ステータスバーの表示!=入力改行コードとなり、入力改行コードを知る方法はおそらくツールバーのボタンでだけになる<br><br>別の話ですが、名前をつけて保存で改行コードを統一した後は、入力改行コードをそれに変更する必要があります。<br>(これは名前をつけて保存の後で ReloadCurrentFileが行っていた処理の一部であり、それが呼ばれない現在、上書き保存が暗黙的に改行コードを統一することによって隠されていた問題です。ソースを読んだわけではありませんが、おそらく)<br></div></section>
    <ul><li><section><h1 id=209>
    <span class="no">[209]</span>
    <a class="thread-title" href="#209">Re20:改行コードの変更が反映されない</a>
    <span class="author">ryoji</span>
    <time datetime="2008-03-09T11:12:53">2008年03月09日 11:12</time></h1>
    <div class="body">&gt; 上書き保存のたびにメッセージが表示されてしまいます。<br><br>確認する／しないをオプションにすればいいんじゃないですか？<br><br>．．．と思ったけど、<br>その都度聞くようにしないと、統一したいのかしたくないのかはプログラムからは判別できないと思います。<br>以前の状態を覚えるのは逆に、操作者の側も前回はどうしたか覚えておかないと思わぬ結果を生むことになります。<br>今回は混在にしたかったのに前回統一を選択したのを忘れていて上書き保存で統一されてしまった、など。ミスにその場で気付けばアンドゥできるかもしれないけど気付かないで終了してしまう可能性が高い。また、一度覚えたものを忘れさせる手段も再読み込みくらいしかない。<br><br>自分だって毎回聞かれたくはないけど、我儘は押さえて、そこは我慢します。<br><br>．．．返信はまだのようなので以下に追加修正します。<br>やはりオプションかな？と。<br>「確認する」を選択した場合は混在したままだと毎回聞かれるのは我慢。<br>「確認しない」を選択した場合は上書き保存で意図せず混在してしまっていることがあっても我慢。<br>ユーザーはトレードオフを考えてどっちの設定にするかを決める。<br>僕はきっと「確認する」を選びます。<br><br>オプション名：改行コード無変換保存時に混在を確認する<br>保存ダイアログの「変換しない」の表記は改名しない。<br>厳密には「混在」をチェックするのではなく「現在の入力改行コード」とひとつでも一致しないものがあればメッセージ表示、ということになるのかな？<br><br>それ以上のサービス（以前の状態を覚えておくとか、黙って必ず統一するとか）を含めようとすると、プログラム側もスパゲティ化し、ユーザー側も混乱（どんな仕様になってるのか理解不能）しそうな気がします。<br><br>※僕はステータスバーはたまにしか見ていません。改行コードの種類についてはほとんど編集画面内でしか確認していないです。混在確認したけりゃ保存時に毎回見ろと言われても、できません。これは、ACさんの提案に対する否定ではありません。僕のような人たちにはさほど役に立たないだろうというだけで。自分にその提案の良し悪しは判断できないので、申し訳ないけど、そっちのほうは他の方（ステータスバー表示に一言のある方）と議論してください。</div></section>
    <ul><li><section><h1 id=228>
    <span class="no">[228]</span>
    <a class="thread-title" href="#228">Re21:改行コードの変更が反映されない</a>
    <span class="author">AC</span>
    <time datetime="2008-03-10T02:40:22">2008年03月10日 02:40</time></h1>
    <div class="body">覚えておく、と書いたのは「混在した改行コードをユーザーが許容した」ことを覚えておくという意味でした。<br>ですから、一度上書き保存時に改行コードを統一したからといって、再度改行コードが混在したときには再び統一しますか？と表示されるわけです。<br>繰り返しますが、上書き保存では改行コードを一切変換してくれなくてよい。黙ってそのままを保存してくれ(この部分は付け足しです)。というのが自分の意見です。<br>ですが、意図せざる混入に対してどこかのタイミングで注意を促し、統一の手段を提供するのはありだと思いますし、それが上書き保存時でも構わないとは思っています。<br>心配したのは、これまでのサクラエディタは異種改行コードを黙って受け入れていたのに、「統一しますか」というダイアログを何度も表示することは方針転換ではないか、嫌われないか、ということです。<br><br>ステータスバー内の表示については、そもそもステータスバーを表示していない人がいるだろうこともわかっています。<br>これまでサクラエディタは改行コードの混在について特別な扱いを何もしていません。知る方法もありません。<br>ステータスバーを見て混在を知れ、といっているのではなくて、ステータスバーを見て混在が判るようになれば便利だな、と思ったのです。<br><br>(先の記事で例示しました)特別な場合を除いてステータスバーの表示は従来と変わっていないように見えるはずです。<br>改行コードの混在という、ステータスバーの入力改行コード表示が誤解を招きかねない事態になってはじめて、CR/LFや LF/CRLFといった表示に切り替わるわけです。<br></div></section>
    <ul><li><section><h1 id=232>
    <span class="no">[232]</span>
    <a class="thread-title" href="#232">Re22:改行コードの変更が反映されない</a>
    <span class="author">ryoji</span>
    <time datetime="2008-03-10T08:23:18">2008年03月10日 08:23</time></h1>
    <div class="body">▼ ACさん<br>&gt; 心配したのは、これまでのサクラエディタは異種改行コードを黙って受け入れていたのに、「統一しますか」というダイアログを何度も表示することは方針転換ではないか、嫌われないか、ということです。<br><br>意図は了解です。<br>オプション化についてはいかがですか？</div></section>
    <ul><li><section><h1 id=233>
    <span class="no">[233]</span>
    <a class="thread-title" href="#233">Re23:改行コードの変更が反映されない</a>
    <span class="author">AC</span>
    <time datetime="2008-03-10T13:25:53">2008年03月10日 13:25</time></h1>
    <div class="body">改行コードの混在を確認されるのが改行コード無変換の時なのは自明に思えますので、「ファイルを保存するときに」でいいように思います。実際的には<br><br>共通設定 - ファイル - ファイルの保存 - 改行コードの混在を警告する<br><br>こういう感じに納まるのかと思いましたが、スペースがないという、より現実的な問題がありそうです。<br><br>ところでこのメッセージ、上書き保存のときだけに表示されるのですか？<br>名前をつけて保存で「変換なし(常に選択済み)」を選んだときにも表示されてほしいです。<br>また、自動保存の時に表示するかは思案どころです。作業を中断させられたくないでしょうから。<br><br>以下、自分の望む動作をまとめました。<br><br>!自動保存<br>ユーザーに確認できないため改行コードは変換しない。<br><br>!上書き保存、名前をつけて保存(改行コード:変換なし)<br>改行コードの変換はしない。(オプションで警告メッセージ&amp;統一(詳細は改行コードを指定した名前をつけて保存と同じ))<br><br>!名前をつけて保存(改行コード指定)<br>エディタの保持データの改行コードを書き換え(アンドゥ可。本題)た上で保存。<br>(エディタが保持する改行コードを書き換えた後は入力改行コードをそれに合わせないと Enterキーから予想外の改行コードが入力されることになる)<br></div></section>
    <ul><li><section><h1 id=239>
    <span class="no">[239]</span>
    <a class="thread-title" href="#239">Re24:改行コードの変更が反映されない</a>
    <span class="author">ryoji</span>
    <time datetime="2008-03-11T00:02:38">2008年03月11日 00:02</time></h1>
    <div class="body">&gt; !自動保存<br>&gt; ユーザーに確認できないため改行コードは変換しない。<br>&gt; <br>&gt; !上書き保存、名前をつけて保存(改行コード:変換なし)<br>&gt; 改行コードの変換はしない。(オプションで警告メッセージ&amp;統一(詳細は改行コードを指定した名前をつけて保存と同じ))<br>&gt; <br>&gt; !名前をつけて保存(改行コード指定)<br>&gt; エディタの保持データの改行コードを書き換え(アンドゥ可。本題)た上で保存。<br><br>はい、それで僕のイメージと一致しています。</div></section>
    <ul><li><section><h1 id=240>
    <span class="no">[240]</span>
    <a class="thread-title" href="#240">Re25:改行コードの変更が反映されない</a>
    <span class="author">kobake</span>
    <time datetime="2008-03-11T00:14:25">2008年03月11日 00:14</time></h1>
    <div class="body">▼ ryojiさん<br>&gt; &gt; !自動保存<br>&gt; &gt; ユーザーに確認できないため改行コードは変換しない。<br>&gt; &gt; <br>&gt; &gt; !上書き保存、名前をつけて保存(改行コード:変換なし)<br>&gt; &gt; 改行コードの変換はしない。(オプションで警告メッセージ&amp;統一(詳細は改行コードを指定した名前をつけて保存と同じ))<br>&gt; &gt; <br>&gt; &gt; !名前をつけて保存(改行コード指定)<br>&gt; &gt; エディタの保持データの改行コードを書き換え(アンドゥ可。本題)た上で保存。<br>&gt; <br>&gt; はい、それで僕のイメージと一致しています。<br><br>まとめていただきありがとうございます。<br>保存に関してはとりあえずこの流れで実装します。</div></section>
    <ul><li><section><h1 id=242>
    <span class="no">[242]</span>
    <a class="thread-title" href="#242">Re26:改行コードの変更が反映されない</a>
    <span class="author">ryoji</span>
    <time datetime="2008-03-11T02:41:44">2008年03月11日 02:41</time></h1>
    <div class="body">▼ kobakeさん<br>&gt; 保存に関してはとりあえずこの流れで実装します。<br><br>よろしくお願いいたします。<br><br>あ、それで、あと１個だけリクエストがあります。<br>警告メッセージのオプションはタイプ別設定のほうに入れる方向で。<br>混在ファイルは限られたタイプでしか扱わないので。<br><br>.txtや.cppなんかでは標準で「警告する」←まず間違いなく統一を選ぶ<br>.patch（TortoiseSVNのパッチファイル）では「警告しない」←混在は明らかなのでいちいち警告してほしくない<br><br>のようにしたいです。<br><br>＃これで、混在時の上書き保存で毎回警告されるという問題もほぼ解決</div></section>
    </li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li><li><section><h1 id=211>
    <span class="no">[211]</span>
    <a class="thread-title" href="#211">Re18:改行コードの変更が反映されない</a>
    <span class="author">ryoji</span>
    <time datetime="2008-03-09T18:51:07">2008年03月09日 18:51</time></h1>
    <div class="body">▼ kobakeさん<br>&gt; それこそオプション扱いで良いと思います。<br><br>サクラ間では改行コード無変換<br>外部への出力はCRLF固定<br><br>は、<br><br>どんな相手とも改行コード無変換<br><br>と比較して理解するのに時間を要する、または、説明されるまで理解できない仕様かもしれないです。<br>クリップボードフォーマット？何それ？、が普通の人でしょう。</div></section>
    <ul><li><section><h1 id=215>
    <span class="no">[215]</span>
    <a class="thread-title" href="#215">Re19:改行コードの変更が反映されない</a>
    <span class="author">kobake</span>
    <time datetime="2008-03-09T20:46:48">2008年03月09日 20:46</time></h1>
    <div class="body">▼ ryojiさん<br>&gt; ▼ kobakeさん<br>&gt; &gt; それこそオプション扱いで良いと思います。<br>&gt; <br>&gt; サクラ間では改行コード無変換<br>&gt; 外部への出力はCRLF固定<br>&gt; <br>&gt; は、<br>&gt; <br>&gt; どんな相手とも改行コード無変換<br>&gt; <br>&gt; と比較して理解するのに時間を要する、または、説明されるまで理解できない仕様かもしれないです。<br>&gt; クリップボードフォーマット？何それ？、が普通の人でしょう。<br><br>前者仕様はライトユーザ向け (改行コード種別？何それ？の人) 、<br>後者仕様はヘビー(？)ユーザ向け (プラットフォーム標準から外れるトリッキーなことをしたい人) 、<br>と思います。<br>オプション設定をいじらせるのはヘビーユーザであるべきではないでしょうか。<br></div></section>
    <ul><li><section><h1 id=216>
    <span class="no">[216]</span>
    <a class="thread-title" href="#216">Re20:改行コードの変更が反映されない</a>
    <span class="author">ryoji</span>
    <time datetime="2008-03-09T20:55:58">2008年03月09日 20:55</time></h1>
    <div class="body">&gt; 前者仕様はライトユーザ向け (改行コード種別？何それ？の人) 、<br>&gt; 後者仕様はヘビー(？)ユーザ向け (プラットフォーム標準から外れるトリッキーなことをしたい人) 、<br>&gt; と思います。<br><br>自分はどっちがどっちか判断できなかったので、その考えは本当にそうなのか？を問いかけています。<br>ライトユーザーがどれだけCRLF以外のファイルを扱ったりするのか？<br>まったく扱わないくらいのものなら、どっちでもいいはずで、問題なのは多少扱う人にとってどっちがわかりやすいのか、ではないのか？、と。<br><br>自分の答えは、「どうにもわからん」です。<br>よきにはからってください。</div></section>
    <ul><li><section><h1 id=217>
    <span class="no">[217]</span>
    <a class="thread-title" href="#217">Re21:改行コードの変更が反映されない</a>
    <span class="author">kobake</span>
    <time datetime="2008-03-09T21:01:39">2008年03月09日 21:01</time></h1>
    <div class="body">もうひとつ理由があります。<br>（堅いお話になりますけど、こちらのほうが正統な理由です）<br>ある別ソフトがクリップボードからの入力に関して<br>CF_TEXT の改行が CRLF であることを前提として実装されていた場合、<br>サクラエディタからの入力に対して誤動作する恐れがあります。<br>その別ソフトに問題はありません。Microsoft の提供する文書に基づいて実装しているのですから。<br><br>利便性のために標準から外れる動作をさせることが悪いとは言いませんが、<br>そういう動作はあくまでもオプション扱いであるべきだと思います。</div></section>
    <ul><li><section><h1 id=218>
    <span class="no">[218]</span>
    <a class="thread-title" href="#218">Re22:改行コードの変更が反映されない</a>
    <span class="author">ryoji</span>
    <time datetime="2008-03-09T22:04:26">2008年03月09日 22:04</time></h1>
    <div class="body">&gt; その別ソフトに問題はありません。Microsoft の提供する文書に基づいて実装しているのですから。<br>&gt; 利便性のために標準から外れる動作をさせる<br><br>Microsoftのソフト(Excel)自身がLF改行も出力している。<br>Microsoftは標準改行はCRLFだと言っているだけで、利便性のために標準から外れた動作（メモ帳で扱えないようなコード出力）を普通にしているのではないのか。<br><br>一般的なエディタの多くはCRLF出力にしている。<br>けど、ほとんどのエディタは改行コードは行ごとに保持していないから、混在出力しないのは当たり前。<br>混在を許可するエディタとは事情が違うのではないか。<br><br>メモ帳に貼り付けたら改行しない。<br>だけどメモ帳でLF改行ファイルを開いたら改行しないのは当たり前。<br>知らなかったら、改行種について知ることが異種改行を扱うための最低限のことではないのか。<br>別にCRLF出力にしてあげなくてもいいんじゃないか。（扱わない人にはどうせ無関係、扱う人には普通の話）<br><br>etc...<br><br>世の中には、物事をよく知っている人ほど騙されやすいこともある。<br>外部への出力はCRLFにするのが良さそうだというのも、その一つではないのか。<br>迂闊に物事を決めつけてしまってはいないか。<br><br>そんな具合に、自分に問い詰めたら、わからなくなったということです。<br>ちょっとやそっと説明されたくらいじゃ、自分なりにどっちがいいかの結論は出そうにありません。<br><br>なので、良きに計らってください。</div></section>
    <ul><li><section><h1 id=219>
    <span class="no">[219]</span>
    <a class="thread-title" href="#219">Re23:改行コードの変更が反映されない</a>
    <span class="author">kobake</span>
    <time datetime="2008-03-09T22:19:06">2008年03月09日 22:19</time></h1>
    <div class="body">考えられるユースケースのうち、<br>明らかに利便性がある側が標準に準拠していない場合は、<br>そのトレードオフに関して熟考の価値ありと思いますが、<br>どちらの利便性が大きいか判断が付かないほど両者の価値が拮抗している場合は、<br>標準に準拠しておいてまず間違いないと思います。<br></div></section>
    <ul><li><section><h1 id=220>
    <span class="no">[220]</span>
    <a class="thread-title" href="#220">Re24:改行コードの変更が反映されない</a>
    <span class="author">ryoji</span>
    <time datetime="2008-03-09T22:20:13">2008年03月09日 22:20</time></h1>
    <div class="body">よく考えて<br>よきにはからってください。<br><br>CRLF反対を唱えているわけではないです。<br><br>▼自分<br>&gt; <br>&gt; サクラ間では改行コード無変換<br>&gt; 外部への出力はCRLF固定<br>&gt; <br>&gt; は、<br>&gt;<br>&gt; どんな相手とも改行コード無変換<br>&gt;<br>&gt; と比較して理解する、または、説明されるまで理解できない仕様かもしれない。<br><br>理解しにくい仕様のほうがライトユーザー向きなのか、あるいは理解しにくいというのが間違いなのか。。。</div></section>
    <ul><li><section><h1 id=221>
    <span class="no">[221]</span>
    <a class="thread-title" href="#221">Re25:改行コードの変更が反映されない</a>
    <span class="author">kobake</span>
    <time datetime="2008-03-09T22:34:13">2008年03月09日 22:34</time></h1>
    <div class="body">▼ ryojiさん<br>&gt; よく考えて<br>&gt; よきにはからってください。<br>&gt; <br>&gt; CRLF反対を唱えているわけではないです。<br>&gt; <br>&gt; ▼自分<br>&gt; &gt; <br>&gt; &gt; サクラ間では改行コード無変換<br>&gt; &gt; 外部への出力はCRLF固定<br>&gt; &gt; <br>&gt; &gt; は、<br>&gt; &gt;<br>&gt; &gt; どんな相手とも改行コード無変換<br>&gt; &gt;<br>&gt; &gt; と比較して理解する、または、説明されるまで理解できない仕様かもしれない。<br>&gt; <br>&gt; 理解しにくい仕様のほうがライトユーザー向きなのか。。。<br><br>内部動作を理解しなくてよい仕様、がライトユーザ向きだと思います。</div></section>
    <ul><li><section><h1 id=222>
    <span class="no">[222]</span>
    <a class="thread-title" href="#222">Re26:改行コードの変更が反映されない</a>
    <span class="author">ryoji</span>
    <time datetime="2008-03-09T22:39:06">2008年03月09日 22:39</time></h1>
    <div class="body">説明されないでそうなっていたら、自分はきっと混乱（なんでそうなるの？誤動作？と疑う一貫性の欠如）してましたけど、説明を受けたので問題ありません。<br>（自分はライトでもヘビーでもなさそう）<br><br>よきにはからう、と応えていただければいいです。</div></section>
    <ul><li><section><h1 id=223>
    <span class="no">[223]</span>
    <a class="thread-title" href="#223">Re27:改行コードの変更が反映されない</a>
    <span class="author">ryoji</span>
    <time datetime="2008-03-09T23:52:31">2008年03月09日 23:52</time></h1>
    <div class="body">ライトユーザー向きにだけ特化せず、新しい挙動に不審を抱き自己解決できない非ライトユーザが現れないようなモノが望ましいです。<br>新しい挙動に最適なユーザーインターフェースでそのような不審が湧かないようにするとか。<br>ライトユーザーは何も考えないでいいだろう、非ライトユーザーもおおむね誰でもちょっと考えればわかるだろう、と判断できるようなものに仕上がっていれば問題ないと思います。<br>稀に不審を抱くユーザーが現れたらその都度説明するしかないわけですし。</div></section>
    <ul><li><section><h1 id=224>
    <span class="no">[224]</span>
    <a class="thread-title" href="#224">Re28:改行コードの変更が反映されない</a>
    <span class="author">kobake</span>
    <time datetime="2008-03-10T00:00:01">2008年03月10日 00:00</time></h1>
    <div class="body">了解です。最適なインターフェースを模索できれば、と思います。<br><br>ところで、<br>&gt; &gt; サクラ間では改行コード無変換<br>&gt; &gt; 外部への出力はCRLF固定<br>とした場合に、ユーザが戸惑う場面って、<br>具体的にどんな場面でしょうか。<br><br><br>あと、今回の議論とは直接の関係は無いですけど、<br>自分が執拗に（ってほどでも無いけど（笑）強く）「標準準拠」を推す理由について<br>理解の助けになるかもしれない記事を書きました。時間と興味があれば目をお通しいただければと思います。<br><a href=http://mofmof.nsf.tc/soft/index.cgi?no=18 target=_top><nobr>http://<wbr>mofmof.<wbr>nsf.<wbr>tc/<wbr>soft/<wbr>index.<wbr>cgi?<wbr>no=<wbr>18</nobr></a><br></div></section>
    <ul><li><section><h1 id=225>
    <span class="no">[225]</span>
    <a class="thread-title" href="#225">Re29:改行コードの変更が反映されない</a>
    <span class="author">ryoji</span>
    <time datetime="2008-03-10T00:20:04">2008年03月10日 00:20</time></h1>
    <div class="body">&gt; ところで、<br>&gt; &gt; &gt; サクラ間では改行コード無変換<br>&gt; &gt; &gt; 外部への出力はCRLF固定<br>&gt; とした場合に、ユーザが戸惑う場面って、<br>&gt; 具体的にどんな場面でしょうか。<br><br>サクラからLF改行をメモ帳に貼り付けても文字化けしなかったときとか（変な例）。<br>ExcelにLF改行を張り付けてもセル内改行してくれなかったときとか。<br>サクラからサクラならLF改行で動いているように思えたのに、そうではないのか？もしかしてサクラ間でもおかしなるときがあるのか？と感じるかも。<br>いったいどんなときにLF改行がCRLF改行になってしまうのかわからないかも。<br>もしかしたら併用している常駐ソフトが悪いのか？Win再インストールしなきゃだめ？（←これはおおげさすぎ）<br>クリップボードのように外に見えないものは、誰も内部を詳しく理解していないし（一時的な物置程度にしか知らない）、知ることを強要することもできないと思います。<br>見えないところにこだわるより、外見えに一貫性があって愚直な挙動のほうが、ちょっと扱いが不便でもわかりやすいということがあるかもしれない、と。<br>LFをCRLFにして出力するほうが通常は確かにちょっと便利かもしれませんが。<br><br>&gt; <a href=http://mofmof.nsf.tc/soft/index.cgi?no=18 target=_top><nobr>http://<wbr>mofmof.<wbr>nsf.<wbr>tc/<wbr>soft/<wbr>index.<wbr>cgi?<wbr>no=<wbr>18</nobr></a><br><br>あとでゆっくり読んでみます。<br></div></section>
    </li><li><section><h1 id=226>
    <span class="no">[226]</span>
    <a class="thread-title" href="#226">Re29:改行コードの変更が反映されない</a>
    <span class="author">ryoji</span>
    <time datetime="2008-03-10T01:22:35">2008年03月10日 01:22</time></h1>
    <div class="body">▼ kobakeさん<br>&gt; <a href=http://mofmof.nsf.tc/soft/index.cgi?no=18 target=_top><nobr>http://<wbr>mofmof.<wbr>nsf.<wbr>tc/<wbr>soft/<wbr>index.<wbr>cgi?<wbr>no=<wbr>18</nobr></a><br><br>読んでみました。<br><br>&gt; &gt; &gt; サクラ間では改行コード無変換<br>&gt; &gt; &gt; 外部への出力はCRLF固定<br><br>こうすることでまさに「外見え（ユーザー見え）」に蛇口の直径がバラバラになりはしないか（サクラ間と、サクラ外とで事情を変えることが）、と思ったわけです。<br>通り道（水道管）が標準化されてなくても最終出力（蛇口）は一貫していたほうがいいのでは？と<br>※蛇口に関してはよく知らないので妙に突っ込まないでくださいね(^^;</div></section>
    <ul><li><section><h1 id=227>
    <span class="no">[227]</span>
    <a class="thread-title" href="#227">Re30:改行コードの変更が反映されない</a>
    <span class="author">kobake</span>
    <time datetime="2008-03-10T01:50:55">2008年03月10日 01:50</time></h1>
    <div class="body">長文のご拝読ありがとうございます。m(_ _)m<br><br>&gt; 通り道（水道管）が標準化されてなくても<br><br>内部の通り道は RegisterClipboardFormat("SAKURAClip") です。<br><br>&gt; 最終出力（蛇口）は一貫していたほうがいいのでは？と<br><br>最終出力（蛇口）は CF_TEXT です。<br><br>結果的に<br>・サクラ間では改行コード無変換（←これはどうでも良い）<br>・外部への出力はCRLF固定（←これは決定）<br>となりませんか？</div></section>
    <ul><li><section><h1 id=231>
    <span class="no">[231]</span>
    <a class="thread-title" href="#231">Re31:改行コードの変更が反映されない</a>
    <span class="author">ryoji</span>
    <time datetime="2008-03-10T08:19:36">2008年03月10日 08:19</time></h1>
    <div class="body">僕は、<br><br>&gt; &gt; 通り道（水道管）が標準化されてなくても<br>&gt; <br>&gt; 内部の通り道は RegisterClipboardFormat("SAKURAClip") です。<br><br>内部の通り道はプログラム間の通路という意味で、すべてのクリップボード形式。<br>SAKURAClipもCF_TEXTもどちらも水道管。<br><br>&gt; &gt; 最終出力（蛇口）は一貫していたほうがいいのでは？と<br>&gt; <br>&gt; 最終出力（蛇口）は CF_TEXT です。<br><br>最終出力はプログラムの画面出力（貼り付けた結果）。<br><br>と見ているので、視点の違いですね～。<br><br>プログラマから見える部分ではなくユーザーに見える部分に着目した場合に、どちらが直観的に理解できるのか？というところを問題にしています。<br>ライトユーザーと非ライトユーザーとでは感触も違うかもしれませんね。<br></div></section>
    <ul><li><section><h1 id=234>
    <span class="no">[234]</span>
    <a class="thread-title" href="#234">Re32:改行コードの変更が反映されない</a>
    <span class="author">AC</span>
    <time datetime="2008-03-10T14:53:40">2008年03月10日 14:53</time></h1>
    <div class="body">クリップボードに関しては傍観者でいるつもりでしたが、ryojiさんの書き込みと別スレ(LFCR改行)を読んでいて気付いたことは、<br><br>改行コードを見ている人がいる<br><br>ということです。自分は改行マークをはじめルーラーやアンダーライン、EOFマークなど全て非表示にしてしまうので気付かなかったのですが、<br>改行マークを表示していると CRLFと LFが、Aと Bと同じように区別できるわけです。<br>そして Excelに貼り付けるときにはその区別が必要になるわけで、自覚的に LF改行をコピペする人が存在している(だろう)、と。<br>改行文字を他の文字と同じように扱えるのがサクラエディタの特長の一つであるらしいことも知りました。<br>デフォルトで改行記号は表示されますから、改行がコピペできなくてもヒントは表示されている、と考えることもできます。<br><br>※ Excelは LFを改行ではなくセル内改行(を表す文字)として扱っているのでしょう。<br>※ SakuraEditorは LFを改行としても一個の文字としても扱えるので意見が衝突するのだと思います。<br>※ クリップボードフォーマットは CRに続かない LFや、LFが続かないCRを含んではいけないのですか？<br></div></section>
    <ul><li><section><h1 id=235>
    <span class="no">[235]</span>
    <a class="thread-title" href="#235">Re33:改行コードの変更が反映されない</a>
    <span class="author">ryoji</span>
    <time datetime="2008-03-10T19:15:12">2008年03月10日 19:15</time></h1>
    <div class="body">▼ ACさん<br>&gt; ※ クリップボードフォーマットは CRに続かない LFや、LFが続かないCRを含んではいけないのですか？<br><br>ちょっと今、さらっと調べてみました。<br>大御所（Microsoft）のアプリでは．．．<br><br>メモ帳：<br>改行を CRLF で CF_TEXT に格納している。他のものは画面上では改行せず（未定義文字扱い）CF_TEXT への格納は無変換。<br>※現行のサクラからメモ帳に張り付けると CRLF 以外の改行コードは画面上で改行されない。これをメモ帳の側でコピーしてサクラに張り付けると元の改行に戻る。<br><br>Excel：<br>表内行の改行を CRLF、セル内改行を LF で CF_TEXT に格納。<br><br>Visual Studio のエディタ：<br>各種改行は画面上でも改行になっていて CF_TEXT への格納は無変換。<br>※現行サクラとの間でなら相互に無変換のまま各種改行をコピー／貼り付け可能。<br><br>上記を踏まえまして、僕の個人的な解釈では．．．<br>他プラットフォーム用の改行コードまで必ずプラットフォーム標準の CRLF に変換しないと、それは標準に反するということになる、とまでは思えないなぁ。MSDN の CF_TEXT 解説の中には、単独の CR や LF を CRLF に変換しなさいというような、そのものズバリな文言は見当たらないです。CF_TEXT を受け取ったアプリはその中に含まれる CRLF を改行として扱いましょうね。それで送る側のアプリも改行を CRLF にすれば改行が保証されてどんなアプリとも相互に改行を含むテキストを扱えますよ。ハッピーでしょ？という程度の意味ではないかしら？、と思いましたけど。(^^;;;<br><br>kobakeさんの案は．．．<br>各種改行をすべて CRLF に変換して CF_TEXT に格納する。<br>（従来は、[編集]-[CRLF改行でコピー]コマンドで行っていた処理を標準のコピーコマンドや Drag 元になったときに行う）<br>※メモ帳に張り付けるとすべて改行で表示される。他のどんなアプリでも（妙なアプリでなければ）間違いなく改行として扱われる。</div></section>
    <ul><li><section><h1 id=238>
    <span class="no">[238]</span>
    <a class="thread-title" href="#238">Re34:改行コードの変更が反映されない</a>
    <span class="author">kobake</span>
    <time datetime="2008-03-10T23:25:17">2008年03月10日 23:25</time></h1>
    <div class="body">▼ ryojiさん<br>&gt; 他プラットフォーム用の改行コードまで必ずプラットフォーム標準の CRLF に変換しないと、それは標準に反するということになる、とまでは思えないなぁ。MSDN の CF_TEXT 解説の中には、単独の CR や LF を CRLF に変換しなさいというような、そのものズバリな文言は見当たらないです。CF_TEXT を受け取ったアプリはその中に含まれる CRLF を改行として扱いましょうね。それで送る側のアプリも改行を CRLF にすれば改行が保証されてどんなアプリとも相互に改行を含むテキストを扱えますよ。ハッピーでしょ？という程度の意味ではないかしら？、と思いましたけど。(^^;;;<br><br>その解釈で間違い無いと思います。<br>自分はその程度の意味の幸せを求めています。<br>ただ、別コメントにも書きましたが、「改行を出力する意図で」「LFを出力」した場合、<br>それは意味論的に標準に反していると思います。<br><br><br>別ソフトを例に挙げることに意味があるか分かりませんけど、<br>こちらからも例を挙げると、<br>以下のエディタでは（オプション設定によると思いますが、<br>デフォルトでは）クリップボードへの出力時に<br>改行をCRLFとして出力していました。<br>・ワードパッド<br>・秀丸<br>・xyzzy<br>・TeraPad<br></div></section>
    <ul><li><section><h1 id=243>
    <span class="no">[243]</span>
    <a class="thread-title" href="#243">Re35:改行コードの変更が反映されない</a>
    <span class="author">ryoji</span>
    <time datetime="2008-03-11T10:07:33">2008年03月11日 10:07</time></h1>
    <div class="body">&gt; それは意味論的に標準に<br><br>え？他の連中（UNIX,MAC）の改行コードも仲間に入れてやれば皆もっとハッピーになれるんじゃないかって？<br>しっ、そんな入れ知恵、なんで僕（MS）がしてあげなくちゃいけないのさ？<br>どうぞご勝手に。じゃあね、グッドラック！<br><br>...まぁ、義理はないですからねぇ～。そこんとこはしかたないよね。</div></section>
    <ul><li><section><h1 id=244>
    <span class="no">[244]</span>
    <a class="thread-title" href="#244">Re36:改行コードの変更が反映されない</a>
    <span class="author">kobake</span>
    <time datetime="2008-03-11T23:26:34">2008年03月11日 23:26</time></h1>
    <div class="body">▼ ryojiさん<br>&gt; &gt; それは意味論的に標準に<br>&gt; <br>&gt; え？他の連中（UNIX,MAC）の改行コードも仲間に入れてやれば皆もっとハッピーになれるんじゃないかって？<br>&gt; しっ、そんな入れ知恵、なんで僕（MS）がしてあげなくちゃいけないのさ？<br>&gt; どうぞご勝手に。じゃあね、グッドラック！<br><br>んー、まるでそれ（入れ知恵をしないこと）が悪いことのような言いようですが、<br>本当にそう思いますか？<br>仮に Windows における改行コードの定義に CR, LF が加わったら誰がハッピーになりますか？同様に UNIX における改行コードの定義に CRLF, CR が加わったら誰がハッピーになりますか？同様に MAC に（略<br><br>重要なのは共通理解です。<br>Windowsを使う人（アクター）は、個々のアプリケーションの詳細を知らずとも、<br>テキスト出力の改行コードがCRLFであることを「知っている」。<br>（※下に書く内容に関連しますが、これは「テキスト出力」を前提とした場合の話です。<br>　「バイナリ出力」であれば改行コードという概念など存在しません）<br>その共通理解の恩恵を自ら捨てることもあるまい、というのが自分の意見です。<br><br>ここでいう、「人（アクター）」とは改行コードを意識することができる実際のユーザでもありますし、また、ユーザが使う「別アプリケーションが」改行コードを知っている、という意味でもあります。<br><br><br>話は変わりますが、<br>クリップボードへのデータ格納時に改行コード変換を行う、行わない、<br>の両者スタンスは、以下の思想に基づくと考えます。<br>・改行コード変換を行う　　 … テキストデータ出力<br>・改行コード変換を行わない … バイナリデータ出力<br><br>テキストデータ編集の思想でエディタを触っている人には前者が好ましいです。<br>バイナリデータ編集の思想でエディタを触っている人には後者が好ましいです。</div></section>
    <ul><li><section><h1 id=245>
    <span class="no">[245]</span>
    <a class="thread-title" href="#245">Re37:改行コードの変更が反映されない</a>
    <span class="author">ryoji</span>
    <time datetime="2008-03-12T01:49:23">2008年03月12日 01:49</time></h1>
    <div class="body">ん？、なんか長文書かせてしまってごめんなさい。<br><br>単独のCRやLFに関する扱いが未定義なのは困るよね、というつもりで。<br>他プラットフォームの改行コードを扱う際の考慮がまるきり抜け落ちていた間抜けさ。だから、メモ帳では非改行、Visual Studio では改行、てなことになっちゃうんじゃないかなぁ、て。まぁ、当初は想定すらできなかったから他の連中のために義理で決めてやる必要はない、という程度の意識だったんだろうな、と。<br><br>&gt; ・改行コード変換を行う　　 … テキストデータ出力<br>&gt; ・改行コード変換を行わない … バイナリデータ出力<br><br>実装者側としてはそのように考えてしまったほうが納得しやすいので、それでいいと思います。<br><br>【上記に修正】<br>テキストデータ出力／バイナリデータ出力と別物に分けてみるよりも、<br>「CF_TEXT 内のメモリイメージ」＝「テキストファイルにバイナリモードで入出力するときのメモリイメージ」<br>のようにみたほうが、より納得しやすく思えてきました。<br>それもあくまでも自分の感覚で、納得しやすければどっちでもいい話ですけど。<br><br>&gt; テキストデータ編集の思想でエディタを触っている人には前者が好ましいです。<br>&gt; バイナリデータ編集の思想でエディタを触っている人には後者が好ましいです。<br><br>ユーザー自身は、改行コード部分に関して意識が違っているというだけで、どなたもテキスト編集の感覚でいると思いますよ。「テキスト思想」対「バイナリ思想」のように対立するような違いじゃないと思う。</div></section>
    <ul><li><section><h1 id=246>
    <span class="no">[246]</span>
    <a class="thread-title" href="#246">Re38:改行コードの変更が反映されない</a>
    <span class="author">maru</span>
    <time datetime="2008-03-13T00:17:26">2008年03月13日 00:17</time></h1>
    <div class="body">珍しく登場して、勝手に意見するのもアレですが・・・。<br><br>まず、標準についての考え方について。<br>自分の認識では、Windows標準のテキストエディタの挙動がMicrosoftの標準規格なのかなぁと。つまりnotepadの挙動「改行コードは変換しない」が、Microsoftの掲げる標準なのだと思っています。<br><br>ただ、デファクトスタンダードっていう言葉もありますから、Microsoftの意向はあまり関係ないのかも知れませんが。<br><br>サクラエディタでの実装についてですが、<br><br>&gt; 「改行」を渡したいのであればCRLFを渡すべきです。<br>&gt; 「文字LFを渡す意図」であればLFのまま渡すことに<br><br>この考え方は大いに賛成なのですが、「改行」を渡したいのか、「文字LF」を渡したいのか、エディタからは区別できないような・・・。<br><br>ワードパッドはどちらかと言うとワープロソフトなので、「文字LF」というケースはほぼ考慮しなくても良いのでしょうけど。<br></div></section>
    <ul><li><section><h1 id=247>
    <span class="no">[247]</span>
    <a class="thread-title" href="#247">Re39:改行コードの変更が反映されない</a>
    <span class="author">ryoji</span>
    <time datetime="2008-03-13T01:12:43">2008年03月13日 01:12</time></h1>
    <div class="body">&gt; &gt; 「改行」を渡したいのであればCRLFを渡すべきです。<br>&gt; &gt; 「文字LFを渡す意図」であればLFのまま渡すことに<br>&gt; <br>&gt; この考え方は大いに賛成なのですが、「改行」を渡したいのか、「文字LF」を渡したいのか、エディタからは区別できないような・・・。<br><br>従来のサクラのスタンスというのは、おそらく、どちらを渡したいのか、ではなく、無変換で格納しておいて受け取った側に判断を委ねる（最終的にはユーザーに委ねる）というものだと思います。受け取る側は、なんにせよ改行として受け取るか文字LFを受け取るかということになりますよね（クラッシュするなどは受け取り側のバグであって論外）。<br>で、そのインターフェースの結果がユーザーにとって不都合なら、今後その相手用にコピーするときは「CRLF改行でコピー」を使うようにしてもらおう、というものだったのだと解釈できると思います。<br><br>僕が最初に変更案について問題視したのは、サクラ間のインターフェースは無変換なのにサクラ外へは CRLF に統一するように変更したら、ユーザー見えに混乱しないか？ということ。<br>ファイルへの保存も、このスレの別の枝で議論があったように基本は無変換だし。<br>クリップボードへの保存を CRLF に統一するのは、どんな相手にでも「改行」として伝わるという大きなメリットはあるけれど、上記のような不統一感というデメリットもあります。<br>それを加味して比較したうえでメリットの方が大きそうなら、改行統一すればいい。<br>（補足するなら、ユーザーにとって不都合になる頻度なども比較のためのひとつの材料になるでしょうね）<br><br>でも、どうもそのユーザーにとっての不統一感に関しては今のところ何も触れてもらえていないのです。<br>kobakeさんが不統一感があると思っているのかどうかさえよくわからない。<br>それで、検討しようよと持ちかけて、検討の余地なし、と切り返され続けている気分（自分の妄想かもしれないですが）．．．<br>改行統一しようがしまいが標準に反するわけでもないので、それで突き進んでもらうわけにはいかないんじゃないかなと。<br><br>あ、あと、変更しないなら特に問題はない（と思う）けど、比較検討のうえで変更の方向へ向かいそうなら、もっと他の人にも意見を求めた方がいいかな。</div></section>
    <ul><li><section><h1 id=248>
    <span class="no">[248]</span>
    <a class="thread-title" href="#248">Re40:改行コードの変更が反映されない</a>
    <span class="author">なすこじ</span>
    <time datetime="2008-03-13T06:10:07">2008年03月13日 06:10</time></h1>
    <div class="body">忙しかったのと話についていけなかったのと……<br>アンドゥ時とかの話かと思っていたら改行コードそのものの話なんですね。<br>話がループするかもしれませんが、一応私の要望も書いて良いですか？ (^^;<br>割りと普通にWin, Mac OS, Mac OS X, Sunの間をファイル移動しますが、テキストの改行コードが混在するような事は考えにくいです。<br>今だとここでのpatchくらいしか思い浮かびません。<br>ですので、普通はWindowsだけが対象だろうという事で、クリップボードへの出力はCRLF変換するのが妥当ではないかと思います。<br>また、出力を変換するなら当然入力も変換すべきと思います（クリップボードがCRLF改行でテキストがLF改行ならLF変換して入力したりする）<br>でも、改行コードは常に自分で管理してるつもりなので勝手に変更されるのは怖いです。<br>なので要キャンセルオプション。<br>ファイル出力時に混在を警告するのは賛成です。<br>これはファイルオープン時にも警告が欲しいくらいです（オープン時に変換可能とする）<br>また前の方でも出てますが、警告が煩わしい場合もあるでしょうからタイプ別設定でキャンセルできるようにして欲しいです。<br>と言うわけでデフォルト動作は、<br>・クリップボードは改行変換する<br>・ファイルオープン時に改行コードの混在を警告する<br>・ファイルセーブ時に改行コードの混在を警告する<br>共通設定のオプションで、<br>・クリップボードは改行変換しない<br>タイプ別設定のオプションで、<br>・ファイルオープン時に改行コードの混在を警告しない<br>・ファイルセーブ時に改行コードの混在を警告しない<br>こんな感じでどうでしょう？<br>「クリップボードは改行変換しない」はexcelの事を考えるとタイプ別の方が良いかも？<br></div></section>
    <ul><li><section><h1 id=249>
    <span class="no">[249]</span>
    <a class="thread-title" href="#249">Re41:改行コードの変更が反映されない</a>
    <span class="author">ryoji</span>
    <time datetime="2008-03-13T22:25:46">2008年03月13日 22:25</time></h1>
    <div class="body">&gt; 話がループするかもしれませんが、一応私の要望も書いて良いですか？ (^^;<br><br>いや、これで無駄なループを抜けて前進しそうな気がします。:-&gt;<br>僕が望んでいた「どちらがよりしっくり感じられるのか？」の議論に向かって。<br>前から言ってたように、クリップボードの件のほうは僕自身がそこのところをわからなくなってるので、皆さんの話をウォッチするほうに回りたいと思います。<br><br>＃kobakeさんには、僕に別の意図があるかのように伝わってしまったのかもしれません。うまく説明できず申し訳なかったです。<br><br>&gt; 今だとここでのpatchくらいしか思い浮かびません。<br>&gt; ですので、普通はWindowsだけが対象だろうという事で、クリップボードへの出力はCRLF変換するのが妥当ではないかと思います。<br>&gt; また、出力を変換するなら当然入力も変換すべきと思います（クリップボードがCRLF改行でテキストがLF改行ならLF変換して入力したりする）<br><br>ふむふむ。なるほど。<br><br>&gt; タイプ別設定のオプションで、<br>&gt; ・ファイルオープン時に改行コードの混在を警告しない<br>&gt; ・ファイルセーブ時に改行コードの混在を警告しない<br><br>混在警告のほうは、確かにオープン時警告もあるといいのかもしれないですね。<br>ほとんどのファイルタイプでは混在を望まないのが普通だと思うので、保存のほうのデフォルトは「警告する」でもいいのかな～、どうなんでしょ？</div></section>
    </li><li><section><h1 id=252>
    <span class="no">[252]</span>
    <a class="thread-title" href="#252">Re41:改行コードの変更が反映されない</a>
    <span class="author">kobake</span>
    <time datetime="2008-03-13T23:30:47">2008年03月13日 23:30</time></h1>
    <div class="body">▼ なすこじさん<br>&gt; ですので、普通はWindowsだけが対象だろうという事で、クリップボードへの出力はCRLF変換するのが妥当ではないかと思います。<br>&gt; また、出力を変換するなら当然入力も変換すべきと思います（クリップボードがCRLF改行でテキストがLF改行ならLF変換して入力したりする）<br>&gt; でも、改行コードは常に自分で管理してるつもりなので勝手に変更されるのは怖いです。<br>&gt; なので要キャンセルオプション。<br>&gt; (略)<br>&gt; と言うわけでデフォルト動作は、<br>&gt; ・クリップボードは改行変換する<br>&gt; (略)<br>&gt; 共通設定のオプションで、<br>&gt; ・クリップボードは改行変換しない<br><br>クリップボードに関しては、同意見です。<br><br>ところで別コメントで、クリップボードに関しては<br>「「決まり」に従ってデフォルトを」という意見であると書きましたが、<br>ファイル入出力に関しては、特に決まりは無いので、<br>完全にユースケースを基準にデフォルトを決定することになると思います。<br>ファイル入出力のユースケースに関して自分からの意見は無いです。<br></div></section>
    </li></ul></li><li><section><h1 id=251>
    <span class="no">[251]</span>
    <a class="thread-title" href="#251">Re40:改行コードの変更が反映されない</a>
    <span class="author">kobake</span>
    <time datetime="2008-03-13T23:11:52">2008年03月13日 23:11</time></h1>
    <div class="body">▼ ryojiさん<br>&gt; 僕が最初に変更案について問題視したのは、サクラ間のインターフェースは無変換なのにサクラ外へは CRLF に統一するように変更したら、ユーザー見えに混乱しないか？ということ。<br>&gt; ファイルへの保存も、このスレの別の枝で議論があったように基本は無変換だし。<br>&gt; クリップボードへの保存を CRLF に統一するのは、どんな相手にでも「改行」として伝わるという大きなメリットはあるけれど、上記のような不統一感というデメリットもあります。<br>&gt; それを加味して比較したうえでメリットの方が大きそうなら、改行統一すればいい。<br>&gt; （補足するなら、ユーザーにとって不都合になる頻度なども比較のためのひとつの材料になるでしょうね）<br><br>サクラエディタ内部プロトコルに慣れている人にとっては、<br>クリップボード出力時に改行がCRLFに変換されることに関して不統一感を感じるのは事実だと思います。<br>プラットフォーム上のプロトコル的な統一感を求める人にとっては、<br>クリップボード出力時の改行コードがCRLFで無い場合があることに関して不統一間を感じるのも事実だと思います。<br>どちらがしっくりくるかは人の思想や場面に依存するため、<br>そこに答えを出すことはできない、と自分は考えています。<br><br><br>&gt; でも、どうもそのユーザーにとっての不統一感に関しては今のところ何も触れてもらえていないのです。<br>&gt; kobakeさんが不統一感があると思っているのかどうかさえよくわからない。<br><br>不統一感があると感じる人が出てくることは理解できますが、<br>自分自身は改行コードがCRLFに変換される理由を既に知ってしまっているので、不統一感は感じていないです。<br><br>ちなみに、自分自身のユースケースとしては、<br>場面によっては改行をCRLFに変換して欲しいと思いますし、<br>また別の場面によっては改行を無変換で利用したいとも思います。<br><br>不統一感および「しっくり」度合いに関しては、上に書いたように、<br>答えを出すことができない、というのが自分の考えです。<br>むしろ、そこに答えを出してはいけないんじゃないか、というくらいの思いです。<br>それぞれの立場にそれぞれの言い分があって、<br>もしそれを多数決で決めてしまったとしたら、<br>それは民主的であるかもしれませんが、論理的ではありません。<br><br><br>&gt; それで、検討しようよと持ちかけて、検討の余地なし、と切り返され続けている気分（自分の妄想かもしれないですが）．．．<br>&gt; 改行統一しようがしまいが標準に反するわけでもないので、それで突き進んでもらうわけにはいかないんじゃないかなと。<br><br>自分的には論理的に考えた結果、<br>使う人の立場の片方に同調するのではなく、<br>まずは「決まり」に従う形でデフォルトを実装しておき、<br>使う人がそれぞれの判断で設定をいじってほしい、<br>という結論を既に構想として持っています。<br><br>それを主張した結果、堅い印象を与えてしまったのであればお詫びしますが、<br>とりあえず意見を聞く耳はあることはお伝えしておきます。<br></div></section>
    <ul><li><section><h1 id=253>
    <span class="no">[253]</span>
    <a class="thread-title" href="#253">Re41:改行コードの変更が反映されない</a>
    <span class="author">ラスティブ</span>
    <time datetime="2008-03-14T19:58:01">2008年03月14日 19:58</time></h1>
    <div class="body">突然出現して意見するのところが難ですが（汗）<br>平べったく要望を書かせて下さい。<br><br>まず、プレーンテキストファイルを編集していることを大前提として設けていて、<br>改行の種類に CR または LF または "CR LF" の3種類があって、<br>プレーンテキストを編集する以上改行コードはファイルを開いて編集を開始した時点で<br>統一されていて欲しいという立場で、それら3つは同じ意味だと考えてみます。<br>なすこじさんと同じくです・・・^^;<br><br>編集中のテキストが外部アプリケーションにクリップボードを経由して渡されるとき、<br>そのコマンドが実行される際、渡す相手のファイルが<br>Linux上のプレーンテキストですみたいなことが指示されると LF 以外の改行コードを LF に明示的に変換し、<br>Windows上のプレーンテキストですみたいなことを指示されると "CR LF" 以外の改行コードを "CR LF" に明示的に変換し、<br>何も指示されなければ（←デフォルト）、相手のファイルの型が不明という良い訳付き（笑）で、<br>共通設定の情報（デフォルトは無変換）を参照して暗黙的に変換して渡すというようなものに<br>近い機能が備わってくれればいいなと・・・思います。<br><br>以上です。<br></div></section>
    </li></ul></li></ul></li><li><section><h1 id=250>
    <span class="no">[250]</span>
    <a class="thread-title" href="#250">Re39:改行コードの変更が反映されない</a>
    <span class="author">kobake</span>
    <time datetime="2008-03-13T22:50:30">2008年03月13日 22:50</time></h1>
    <div class="body">▼ maruさん<br>&gt; まず、標準についての考え方について。<br>&gt; 自分の認識では、Windows標準のテキストエディタの挙動がMicrosoftの標準規格なのかなぁと。つまりnotepadの挙動「改行コードは変換しない」が、Microsoftの掲げる標準なのだと思っています。<br><br>notepadに関しては、<br>・LFは改行コードとして扱っていない（実際に見た目として改行されない）<br>　→LFはあくまでも文字LF<br>　→だからクリップボードに渡すときも文字LFとして無変換で渡す<br>・CRLFは改行コードとして扱っている（実際に見た目として改行されている）<br>　→だからクリップボードに渡すときもCRLFとして（結果的に無変換で）渡す<br>・結局のところ、notepadの場合は完全無変換でつじつまが合う<br>と、自分は解釈しています。<br><br>&gt; ただ、デファクトスタンダードっていう言葉もありますから、Microsoftの意向はあまり関係ないのかも知れませんが。<br>&gt; <br>&gt; サクラエディタでの実装についてですが、<br>&gt; <br>&gt; &gt; 「改行」を渡したいのであればCRLFを渡すべきです。<br>&gt; &gt; 「文字LFを渡す意図」であればLFのまま渡すことに<br>&gt; <br>&gt; この考え方は大いに賛成なのですが、「改行」を渡したいのか、「文字LF」を渡したいのか、エディタからは区別できないような・・・。<br><br>「改行」であるかどうかは、実際に見た目上で改行が行われていれば<br>エディタ的には改行なのだと、自分は判断しています。</div></section>
    </li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li><li><section><h1 id=237>
    <span class="no">[237]</span>
    <a class="thread-title" href="#237">Re33:改行コードの変更が反映されない</a>
    <span class="author">kobake</span>
    <time datetime="2008-03-10T22:59:58">2008年03月10日 22:59</time></h1>
    <div class="body">▼ ACさん<br>&gt; ※ クリップボードフォーマットは CRに続かない LFや、LFが続かないCRを含んではいけないのですか？<br><br>含んではいけない制約はありません。重要なのは意味論です。<br>CRLFを改行とする、と定義してある限り、<br>「改行」を渡したいのであればCRLFを渡すべきです。<br>「文字LFを渡す意図」であればLFのまま渡すことに<br>システム的にも意味的にも全く問題無いと考えます。<br></div></section>
    </li></ul></li><li><section><h1 id=236>
    <span class="no">[236]</span>
    <a class="thread-title" href="#236">Re32:改行コードの変更が反映されない</a>
    <span class="author">kobake</span>
    <time datetime="2008-03-10T22:56:34">2008年03月10日 22:56</time></h1>
    <div class="body">▼ ryojiさん<br>&gt; 僕は、<br>&gt; <br>&gt; &gt; &gt; 通り道（水道管）が標準化されてなくても<br>&gt; &gt; <br>&gt; &gt; 内部の通り道は RegisterClipboardFormat("SAKURAClip") です。<br>&gt; <br>&gt; 内部の通り道はプログラム間の通路という意味で、すべてのクリップボード形式。<br>&gt; SAKURAClipもCF_TEXTもどちらも水道管。<br>&gt; <br>&gt; &gt; &gt; 最終出力（蛇口）は一貫していたほうがいいのでは？と<br>&gt; &gt; <br>&gt; &gt; 最終出力（蛇口）は CF_TEXT です。<br>&gt; <br>&gt; 最終出力はプログラムの画面出力（貼り付けた結果）。<br>&gt; <br>&gt; と見ているので、視点の違いですね～。<br><br>自分は、外部との接続部分が標準化されているべきと考えます。<br><br>&gt; SAKURAClipもCF_TEXTもどちらも水道管。<br>とみなした場合、<br>サクラエディタのメーカーが作った水道管と<br>サクラエディタ以外のメーカーが作った水道管の接合部分はどうなるのでしょうか。<br>今の状態は、たまたま形が似ているから繋がっているにすぎません。<br></div></section>
    <ul><li><section><h1 id=241>
    <span class="no">[241]</span>
    <a class="thread-title" href="#241">Re33:改行コードの変更が反映されない</a>
    <span class="author">ryoji</span>
    <time datetime="2008-03-11T01:33:31">2008年03月11日 01:33</time></h1>
    <div class="body">▼ kobakeさん<br>&gt; 今の状態は、たまたま形が似ているから繋がっているにすぎません。<br><br>割とうまく合うだろう（合うようならこのうえなくベストマッチ）という期待はあるけど、合わないようなら標準添付のアダプタ（CRLF改行でコピー）で合わせる、というのが従来の考え方ですね。</div></section>
    </li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li><li><section><h1 id=192>
    <span class="no">[192]</span>
    <a class="thread-title" href="#192">Re11:改行コードの変更が反映されない</a>
    <span class="author">kobake</span>
    <time datetime="2008-03-07T23:16:05">2008年03月07日 23:16</time></h1>
    <div class="body">自分から話を振っておいて丸投げしちゃうのは恐縮ですが…(汗)<br><br>改行コード変換に関して自分からの意見はありません。<br>と、いうのは自分はユーザとして編集時に改行コードの種類を<br>気にしない（気にしたくない）部類の人間だからです。<br><br>混在する改行コードの動作に関して希望や理想や意見がある人の間で<br>話し合いを行っていただければと思います。<br><br><br>コーディング作業に関しては、今のところは完全に自分の主観で<br>作業させていただきます。<br>今回の件の結論が出た時点でそれをソースコードに反映できれば、と思います。</div></section>
    </li></ul></li></ul></li></ul></li></ul></li></ul></li><li><section><h1 id=184>
    <span class="no">[184]</span>
    <a class="thread-title" href="#184">Re6:改行コードの変更が反映されない</a>
    <span class="author">kobake</span>
    <time datetime="2008-03-07T00:14:18">2008年03月07日 00:14</time></h1>
    <div class="body">注釈です。<br><br>すみません、投稿後に記事の修正をしました。<br>下記の引用部分が食い違っているのは、<br>修正と返信が行き違ってしまったせいです。失礼致しました。<br><br>古<br>&gt; &gt; どちらにしても(※)の部分が不明確ですが。<br><br>新<br>&gt; &gt;まずは(※)の部分を明確に知りたいです。（明確な仕様があるのであれば）<br></div></section>
    </li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></body></html>